在 Python 中,类和类的实例都可以动态地添加属性和方法,这种动态性是以内存开销和复杂度为代价的。
在实际中,很多时候,我们并不需要类的这种动态性。Python 提供了 __slots__ 属性,来限制类的属性,设定之后,只能访问 __slots__ 中给出的属性。
带来的好处:
参考 Edifice:
class _WidgetTree(object): __slots__ = ("component", "children")